integrate_fluxes.ipynb

This script loads the Zarr climate data from Amazon S3 into an xarray Dataset. Then, it generates a timeseries of the FLNT variable spatially averaged over the entire globe for each ensemble mean.

Data intake

First, we load a few of the libraries we will be using for data intake. s3fs is a library for accessing files on the Amazon S3 cloud. zarr is a python library that deals with highly-compressed and easily-accessed files. xarray is a labeled dataset format commonly used to handle multidimensional geospatial data. xarray is built around the dask framework, which is a library for parallelizing computation in python. We will be using dask.distributed to make the multiple cores within our remote machine behave like multi-computer cluster.

Execute the following cell by pressing SHIFT+RETURN. I recommend looking up a list of Jupyter commands like the one found here.

In [4]:
import s3fs
import zarr
import xarray as xr 
import dask
from dask.distributed import Client
import numpy as np
import geoviews as gv
import cftime
import pandas as pd
import holoviews as hv

gv.extension('bokeh')

First, we'll set up dask parallelization on this computer. After running the cell below, you should be able to go to localhost:8888 to view a nifty distributed dashboard, assuming you have configured port 8888 for forwarding over ssh.

In [2]:
client = Client()
client
Out[2]:

Client

Cluster

  • Workers: 4
  • Cores: 8
  • Memory: 66.61 GB

With parallelization set up, we're ready to load the data. I already uploaded Zarr datastores of every simulation case to the data-viz-server S3 bucket. This data contains all of the variables and metadata from the original NetCDF data, but in Zarr format. When we run the code below, the cases dictionary will be populated with xarray datasets fetched from the cloud. This code will execute relatively quickly (~15 s) because only the metadata is fetched -- the variable data itself is only downloaded as needed.

In [3]:
case_paths = {
    "GLOBAL":"cobalt.GLOBAL02_CAM_ZARR/", 
    "GLOBAL_MAY_NAO":"cobalt.GLOBAL02.MAY.NAO_CAM_ZARR/",
    "GLOBAL_MAY_PAO":"cobalt.GLOBAL02.MAY.PAO_CAM_ZARR/",
    "CONTROL":"CONTROL03_CAM_ZARR/",
    "CONTROL_MAY_NAO":"CONTROL03.MAY.NAO_CAM_ZARR/",
    "CONTROL_MAY_PAO":"CONTROL03.MAY.PAO_CAM_ZARR/",
    "FRAM_MAY":"cobalt.FRAM.MAY_CAM_ZARR/",
    "FRAM_MAY_NAO":"cobalt.FRAM.MAY.NAO_CAM_ZARR/",
    "FRAM_MAY_PAO":"cobalt.FRAM.MAY.PAO_CAM_ZARR/"
}

cases = {}

# Initialize the S3 file system
s3 = s3fs.S3FileSystem()
for k,v in case_paths.items():
    s3_path = 's3://data-viz-server/{}'.format(v)
    store = s3fs.S3Map(root=s3_path, s3=s3, check=False)
    # Read Zarr file and put into cases dictionary
    cases[k] = xr.open_zarr(store=store, consolidated=True)

cases # display 'cases', the dictionary of xarray Datasets.
Out[3]:
{'GLOBAL': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 1033)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-06-01 00:00:00 ... 2086-06-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(1033,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(1033, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.cobalt.GLOBAL02
     host:             n716022
     initial_file:     f09_g16.B.04.EXT.cam.i.2077-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'GLOBAL_MAY_NAO': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(969,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(969, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.cobalt.GLOBAL02.MAY.NAO
     host:             n716016
     initial_file:     f09_g16.B.04.EXT.cam.i.2068-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'GLOBAL_MAY_PAO': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(969,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(969, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.cobalt.GLOBAL02.MAY.PAO
     host:             n716016
     initial_file:     f09_g16.B.04.EXT.cam.i.2066-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'CONTROL': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 977)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-02-01 00:00:00 ... 2081-06-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(977,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(977,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(977, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.CONTROL03
     host:             n716024
     initial_file:     f09_g16.B.04.EXT.cam.i.2075-01-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /d/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'CONTROL_MAY_NAO': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 984)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-02-01 00:00:00 ... 2082-01-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(984,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(984,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(984, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.CONTROL03.MAY.NAO
     host:             n716027
     initial_file:     f09_g16.B.04.EXT.cam.i.2068-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'CONTROL_MAY_PAO': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 973)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-02-01 00:00:00 ... 2081-02-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(973,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(973,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(973, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.CONTROL03.MAY.PAO
     host:             n716031
     initial_file:     f09_g16.B.04.EXT.cam.i.2066-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'FRAM_MAY': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 974)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-06-01 00:00:00 ... 2081-07-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(974,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(974,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(974, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.cobalt.FRAM.MAY
     host:             n716027
     initial_file:     f09_g16.B.04.EXT.cam.i.2077-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /d/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'FRAM_MAY_NAO': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(969,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(969, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.cobalt.FRAM.MAY.NAO
     host:             n716005
     initial_file:     f09_g16.B.04.EXT.cam.i.2068-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...,
 'FRAM_MAY_PAO': <xarray.Dataset>
 Dimensions:       (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
 Coordinates:
   * ilev          (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
   * lat           (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
   * lev           (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
   * lon           (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
   * slat          (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
   * slon          (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
   * time          (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
 Dimensions without coordinates: nbnd
 Data variables:
     AEROD_v       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDHGH        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDICE        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLIQ        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CLDLOW        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDMED        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLDTOT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     CLOUD         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     CONCLD        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DCQ           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTCOND        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     DTV           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     EMIS          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FICE          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     FLDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FLUTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSDTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNSC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNT          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSNTOAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     FSUTOA        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICEFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     ICIMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ICWMR         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     LANDFRAC      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     LWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OCNFRAC       (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     OMEGA         (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     OMEGAT        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     P0            (time) float64 dask.array<chunksize=(969,), meta=np.ndarray>
     PBLH          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PHIS          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECC         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECL         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSC        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PRECSL        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     PSL           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     Q             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QFLX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     QRL           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     QRS           (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     RELHUM        (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     SFCLDICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SFCLDLIQ      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SHFLX         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHICE      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SNOWHLND      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SOLIN         (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     SWCF          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     T             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     TAUX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TAUY          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDCWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDIWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TGCLDLWP      (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TMQ           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TREFHT        (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TS            (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMN          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     TSMX          (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     U             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     U10           (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
     UU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     V             (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VD01          (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VQ            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VT            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VU            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     VV            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     Z3            (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
     ch4vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     co2vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     date          (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     date_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     datesec       (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     f11vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     f12vmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     gw            (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
     hyai          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hyam          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     hybi          (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
     hybm          (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
     mdt           (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     n2ovmr        (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     nbdate        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nbsec         (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ndcur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nlon          (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
     nsbase        (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     nscur         (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     nsteph        (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
     ntrk          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrm          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     ntrn          (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
     sol_tsi       (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
     time_bnds     (time, nbnd) object dask.array<chunksize=(969, 2), meta=np.ndarray>
     time_written  (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
     w_stag        (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
     wnummax       (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
 Attributes:
     Conventions:      CF-1.0
     Version:          $Name$
     case:             f09_g16.B.cobalt.FRAM.MAY.PAO
     host:             n716008
     initial_file:     f09_g16.B.04.EXT.cam.i.2066-05-01-00000.nc
     logname:          clmfrm01
     revision_Id:      $Id$
     source:           CAM
     title:            UNSET
     topography_file:  /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...}

Let's examine one of the datasets in more detail. Like in MATLAB, in a Jupyter notebook you can simply state a variable and it will be printed. Let's do that with the Control(neutral AO) case to examine its Dataset in more detail.

In [9]:
cases["CONTROL"]
Out[9]:
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • ilev: 27
    • lat: 192
    • lev: 26
    • lon: 288
    • nbnd: 2
    • slat: 191
    • slon: 288
    • time: 977
    • ilev
      (ilev)
      float64
      2.194 4.895 9.882 ... 985.1 1e+03
      formula_terms :
      a: hyai b: hybi p0: P0 ps: PS
      long_name :
      hybrid level at interfaces (1000*(A+B))
      positive :
      down
      standard_name :
      atmosphere_hybrid_sigma_pressure_coordinate
      units :
      level
      array([   2.194067,    4.895209,    9.882418,   18.05201 ,   29.83724 ,
               44.62334 ,   61.60587 ,   78.51243 ,   92.3658  ,  108.66359 ,
              127.83708 ,  150.39371 ,  176.93043 ,  208.14944 ,  244.87709 ,
              288.08522 ,  338.91731 ,  398.71865 ,  469.0718  ,  551.83871 ,
              649.20969 ,  744.38289 ,  831.02123 ,  903.30029 ,  955.99746 ,
              985.1122  , 1000.      ])
    • lat
      (lat)
      float64
      -90.0 -89.06 -88.12 ... 89.06 90.0
      long_name :
      latitude
      units :
      degrees_north
      array([-90.      , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
             -84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
             -78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
             -73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
             -67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
             -61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
             -56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
             -50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
             -44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
             -39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
             -33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
             -27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
             -22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
             -16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
             -10.837696,  -9.895288,  -8.95288 ,  -8.010471,  -7.068063,  -6.125654,
              -5.183246,  -4.240838,  -3.298429,  -2.356021,  -1.413613,  -0.471204,
               0.471204,   1.413613,   2.356021,   3.298429,   4.240838,   5.183246,
               6.125654,   7.068063,   8.010471,   8.95288 ,   9.895288,  10.837696,
              11.780105,  12.722513,  13.664921,  14.60733 ,  15.549738,  16.492147,
              17.434555,  18.376963,  19.319372,  20.26178 ,  21.204188,  22.146597,
              23.089005,  24.031414,  24.973822,  25.91623 ,  26.858639,  27.801047,
              28.743455,  29.685864,  30.628272,  31.570681,  32.513089,  33.455497,
              34.397906,  35.340314,  36.282723,  37.225131,  38.167539,  39.109948,
              40.052356,  40.994764,  41.937173,  42.879581,  43.82199 ,  44.764398,
              45.706806,  46.649215,  47.591623,  48.534031,  49.47644 ,  50.418848,
              51.361257,  52.303665,  53.246073,  54.188482,  55.13089 ,  56.073298,
              57.015707,  57.958115,  58.900524,  59.842932,  60.78534 ,  61.727749,
              62.670157,  63.612565,  64.554974,  65.497382,  66.439791,  67.382199,
              68.324607,  69.267016,  70.209424,  71.151832,  72.094241,  73.036649,
              73.979058,  74.921466,  75.863874,  76.806283,  77.748691,  78.691099,
              79.633508,  80.575916,  81.518325,  82.460733,  83.403141,  84.34555 ,
              85.287958,  86.230366,  87.172775,  88.115183,  89.057592,  90.      ])
    • lev
      (lev)
      float64
      3.545 7.389 13.97 ... 970.6 992.6
      formula_terms :
      a: hyam b: hybm p0: P0 ps: PS
      long_name :
      hybrid level at midpoints (1000*(A+B))
      positive :
      down
      standard_name :
      atmosphere_hybrid_sigma_pressure_coordinate
      units :
      level
      array([  3.544638,   7.388814,  13.967214,  23.944625,  37.23029 ,  53.114605,
              70.05915 ,  85.439115, 100.514695, 118.250335, 139.115395, 163.66207 ,
             192.539935, 226.513265, 266.481155, 313.501265, 368.81798 , 433.895225,
             510.455255, 600.5242  , 696.79629 , 787.70206 , 867.16076 , 929.648875,
             970.55483 , 992.5561  ])
    • lon
      (lon)
      float64
      0.0 1.25 2.5 ... 356.2 357.5 358.8
      long_name :
      longitude
      units :
      degrees_east
      array([  0.  ,   1.25,   2.5 , ..., 356.25, 357.5 , 358.75])
    • slat
      (slat)
      float64
      -89.53 -88.59 ... 88.59 89.53
      long_name :
      staggered latitude
      units :
      degrees_north
      array([-89.528796, -88.586387, -87.643979, -86.701571, -85.759162, -84.816754,
             -83.874346, -82.931937, -81.989529, -81.04712 , -80.104712, -79.162304,
             -78.219895, -77.277487, -76.335079, -75.39267 , -74.450262, -73.507853,
             -72.565445, -71.623037, -70.680628, -69.73822 , -68.795812, -67.853403,
             -66.910995, -65.968586, -65.026178, -64.08377 , -63.141361, -62.198953,
             -61.256545, -60.314136, -59.371728, -58.429319, -57.486911, -56.544503,
             -55.602094, -54.659686, -53.717277, -52.774869, -51.832461, -50.890052,
             -49.947644, -49.005236, -48.062827, -47.120419, -46.17801 , -45.235602,
             -44.293194, -43.350785, -42.408377, -41.465969, -40.52356 , -39.581152,
             -38.638743, -37.696335, -36.753927, -35.811518, -34.86911 , -33.926702,
             -32.984293, -32.041885, -31.099476, -30.157068, -29.21466 , -28.272251,
             -27.329843, -26.387435, -25.445026, -24.502618, -23.560209, -22.617801,
             -21.675393, -20.732984, -19.790576, -18.848168, -17.905759, -16.963351,
             -16.020942, -15.078534, -14.136126, -13.193717, -12.251309, -11.308901,
             -10.366492,  -9.424084,  -8.481675,  -7.539267,  -6.596859,  -5.65445 ,
              -4.712042,  -3.769634,  -2.827225,  -1.884817,  -0.942408,   0.      ,
               0.942408,   1.884817,   2.827225,   3.769634,   4.712042,   5.65445 ,
               6.596859,   7.539267,   8.481675,   9.424084,  10.366492,  11.308901,
              12.251309,  13.193717,  14.136126,  15.078534,  16.020942,  16.963351,
              17.905759,  18.848168,  19.790576,  20.732984,  21.675393,  22.617801,
              23.560209,  24.502618,  25.445026,  26.387435,  27.329843,  28.272251,
              29.21466 ,  30.157068,  31.099476,  32.041885,  32.984293,  33.926702,
              34.86911 ,  35.811518,  36.753927,  37.696335,  38.638743,  39.581152,
              40.52356 ,  41.465969,  42.408377,  43.350785,  44.293194,  45.235602,
              46.17801 ,  47.120419,  48.062827,  49.005236,  49.947644,  50.890052,
              51.832461,  52.774869,  53.717277,  54.659686,  55.602094,  56.544503,
              57.486911,  58.429319,  59.371728,  60.314136,  61.256545,  62.198953,
              63.141361,  64.08377 ,  65.026178,  65.968586,  66.910995,  67.853403,
              68.795812,  69.73822 ,  70.680628,  71.623037,  72.565445,  73.507853,
              74.450262,  75.39267 ,  76.335079,  77.277487,  78.219895,  79.162304,
              80.104712,  81.04712 ,  81.989529,  82.931937,  83.874346,  84.816754,
              85.759162,  86.701571,  87.643979,  88.586387,  89.528796])
    • slon
      (slon)
      float64
      -0.625 0.625 1.875 ... 356.9 358.1
      long_name :
      staggered longitude
      units :
      degrees_east
      array([ -0.625,   0.625,   1.875, ..., 355.625, 356.875, 358.125])
    • time
      (time)
      object
      2000-02-01 00:00:00 ... 2081-06-01 00:00:00
      bounds :
      time_bnds
      long_name :
      time
      array([cftime.DatetimeNoLeap(2000, 2, 1, 0, 0, 0, 0),
             cftime.DatetimeNoLeap(2000, 3, 1, 0, 0, 0, 0),
             cftime.DatetimeNoLeap(2000, 4, 1, 0, 0, 0, 0), ...,
             cftime.DatetimeNoLeap(2081, 4, 1, 0, 0, 0, 0),
             cftime.DatetimeNoLeap(2081, 5, 1, 0, 0, 0, 0),
             cftime.DatetimeNoLeap(2081, 6, 1, 0, 0, 0, 0)], dtype=object)
    • AEROD_v
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Total Aerosol Optical Depth in visible band
      units :
      1
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • CLDHGH
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Vertically-integrated high cloud
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • CLDICE
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Grid box averaged cloud ice amount
      mdims :
      1
      units :
      kg/kg
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • CLDLIQ
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Grid box averaged cloud liquid amount
      mdims :
      1
      units :
      kg/kg
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • CLDLOW
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Vertically-integrated low cloud
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • CLDMED
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Vertically-integrated mid-level cloud
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • CLDTOT
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Vertically-integrated total cloud
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • CLOUD
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Cloud fraction
      mdims :
      1
      units :
      fraction
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • CONCLD
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Convective cloud cover
      mdims :
      1
      units :
      fraction
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • DCQ
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Q tendency due to moist processes
      mdims :
      1
      units :
      kg/kg/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • DTCOND
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      T tendency - moist processes
      mdims :
      1
      units :
      K/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • DTV
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      T vertical diffusion
      mdims :
      1
      units :
      K/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • EMIS
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      cloud emissivity
      mdims :
      1
      units :
      1
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • FICE
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Fractional ice content within cloud
      mdims :
      1
      units :
      fraction
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • FLDS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Downwelling longwave flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLDSC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky downwelling longwave flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLNS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Net longwave flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLNSC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky net longwave flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLNT
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Net longwave flux at top of model
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLNTC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky net longwave flux at top of model
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLUT
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Upwelling longwave flux at top of model
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FLUTC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky upwelling longwave flux at top of model
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSDS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Downwelling solar flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSDSC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky downwelling solar flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSDTOA
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Downwelling solar flux at top of atmosphere
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSNS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Net solar flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSNSC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky net solar flux at surface
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSNT
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Net solar flux at top of model
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSNTC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky net solar flux at top of model
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSNTOA
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Net solar flux at top of atmosphere
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSNTOAC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Clearsky net solar flux at top of atmosphere
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • FSUTOA
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Upwelling solar flux at top of atmosphere
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • ICEFRAC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Fraction of sfc area covered by sea-ice
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • ICIMR
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Prognostic in-cloud ice mixing ratio
      mdims :
      1
      units :
      kg/kg
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • ICWMR
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Prognostic in-cloud water mixing ratio
      mdims :
      1
      units :
      kg/kg
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • LANDFRAC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Fraction of sfc area covered by land
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • LHFLX
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Surface latent heat flux
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • LWCF
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Longwave cloud forcing
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • OCNFRAC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Fraction of sfc area covered by ocean
      units :
      fraction
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • OMEGA
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Vertical velocity (pressure)
      mdims :
      1
      units :
      Pa/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • OMEGAT
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Vertical heat flux
      mdims :
      1
      units :
      K Pa/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • P0
      (time)
      float64
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      reference pressure
      units :
      Pa
      Array Chunk
      Bytes 7.82 kB 7.82 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type float64 numpy.ndarray
      977 1
    • PBLH
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      PBL height
      units :
      m
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PHIS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      long_name :
      Surface geopotential
      units :
      m2/s2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PRECC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Convective precipitation rate (liq + ice)
      units :
      m/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PRECL
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Large-scale (stable) precipitation rate (liq + ice)
      units :
      m/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PRECSC
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Convective snow rate (water equivalent)
      units :
      m/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PRECSL
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Large-scale (stable) snow rate (water equivalent)
      units :
      m/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Surface pressure
      units :
      Pa
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • PSL
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Sea level pressure
      units :
      Pa
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • Q
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Specific humidity
      mdims :
      1
      units :
      kg/kg
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • QFLX
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Surface water flux
      units :
      kg/m2/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • QREFHT
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Reference height humidity
      units :
      kg/kg
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • QRL
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Longwave heating rate
      mdims :
      1
      units :
      K/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • QRS
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Solar heating rate
      mdims :
      1
      units :
      K/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • RELHUM
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Relative humidity
      mdims :
      1
      units :
      percent
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • SFCLDICE
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      CLDICE surface flux
      units :
      kg/m2/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • SFCLDLIQ
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      CLDLIQ surface flux
      units :
      kg/m2/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • SHFLX
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Surface sensible heat flux
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • SNOWHICE
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Snow depth over ice
      units :
      m
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • SNOWHLND
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Water equivalent snow depth
      units :
      m
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • SOLIN
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Solar insolation
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • SWCF
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Shortwave cloud forcing
      units :
      W/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • T
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Temperature
      mdims :
      1
      units :
      K
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • TAUX
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Zonal surface stress
      units :
      N/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TAUY
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Meridional surface stress
      units :
      N/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TGCLDCWP
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Total grid-box cloud water path (liquid and ice)
      units :
      gram/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TGCLDIWP
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Total grid-box cloud ice water path
      units :
      gram/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TGCLDLWP
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      Sampling_Sequence :
      rad_lwsw
      cell_methods :
      time: mean
      long_name :
      Total grid-box cloud liquid water path
      units :
      gram/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TMQ
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Total (vertically integrated) precipitable water
      units :
      kg/m2
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TREFHT
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Reference height temperature
      units :
      K
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TS
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Surface temperature (radiative)
      units :
      K
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TSMN
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: minimum
      long_name :
      Minimum surface temperature over output period
      units :
      K
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • TSMX
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: maximum
      long_name :
      Maximum surface temperature over output period
      units :
      K
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • U
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Zonal wind
      mdims :
      1
      units :
      m/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • U10
      (time, lat, lon)
      float32
      dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      10m wind speed
      units :
      m/s
      Array Chunk
      Bytes 216.10 MB 221.18 kB
      Shape (977, 192, 288) (1, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      288 192 977
    • UU
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Zonal velocity squared
      mdims :
      1
      units :
      m2/s2
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • V
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Meridional wind
      mdims :
      1
      units :
      m/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • VD01
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Vertical diffusion of Q
      mdims :
      1
      units :
      kg/kg/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • VQ
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Meridional water transport
      mdims :
      1
      units :
      m/skg/kg
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • VT
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Meridional heat transport
      mdims :
      1
      units :
      K m/s
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • VU
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Meridional flux of zonal momentum
      mdims :
      1
      units :
      m2/s2
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • VV
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Meridional velocity squared
      mdims :
      1
      units :
      m2/s2
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • Z3
      (time, lev, lat, lon)
      float32
      dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
      cell_methods :
      time: mean
      long_name :
      Geopotential Height (above sea level)
      mdims :
      1
      units :
      m
      Array Chunk
      Bytes 5.62 GB 5.75 MB
      Shape (977, 26, 192, 288) (1, 26, 192, 288)
      Count 978 Tasks 977 Chunks
      Type float32 numpy.ndarray
      977 1 288 192 26
    • ch4vmr
      (time)
      float64
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      ch4 volume mixing ratio
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      977 1
    • co2vmr
      (time)
      float64
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      co2 volume mixing ratio
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      977 1
    • date
      (time)
      int32
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      current date (YYYYMMDD)
      Array Chunk
      Bytes 3.91 kB 4 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      977 1
    • date_written
      (time)
      |S8
      dask.array<chunksize=(1,), meta=np.ndarray>
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type |S8 numpy.ndarray
      977 1
    • datesec
      (time)
      int32
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      current seconds of current date
      Array Chunk
      Bytes 3.91 kB 4 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      977 1
    • f11vmr
      (time)
      float64
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      f11 volume mixing ratio
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      977 1
    • f12vmr
      (time)
      float64
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      f12 volume mixing ratio
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      977 1
    • gw
      (time, lat)
      float64
      dask.array<chunksize=(1, 192), meta=np.ndarray>
      long_name :
      gauss weights
      Array Chunk
      Bytes 1.50 MB 1.54 kB
      Shape (977, 192) (1, 192)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      192 977
    • hyai
      (time, ilev)
      float64
      dask.array<chunksize=(1, 27), meta=np.ndarray>
      long_name :
      hybrid A coefficient at layer interfaces
      Array Chunk
      Bytes 211.03 kB 216 B
      Shape (977, 27) (1, 27)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      27 977
    • hyam
      (time, lev)
      float64
      dask.array<chunksize=(1, 26), meta=np.ndarray>
      long_name :
      hybrid A coefficient at layer midpoints
      Array Chunk
      Bytes 203.22 kB 208 B
      Shape (977, 26) (1, 26)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      26 977
    • hybi
      (time, ilev)
      float64
      dask.array<chunksize=(1, 27), meta=np.ndarray>
      long_name :
      hybrid B coefficient at layer interfaces
      Array Chunk
      Bytes 211.03 kB 216 B
      Shape (977, 27) (1, 27)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      27 977
    • hybm
      (time, lev)
      float64
      dask.array<chunksize=(1, 26), meta=np.ndarray>
      long_name :
      hybrid B coefficient at layer midpoints
      Array Chunk
      Bytes 203.22 kB 208 B
      Shape (977, 26) (1, 26)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      26 977
    • mdt
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      timestep
      units :
      s
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • n2ovmr
      (time)
      float64
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      n2o volume mixing ratio
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      977 1
    • nbdate
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      base date (YYYYMMDD)
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • nbsec
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      seconds of base date
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • ndbase
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      base day
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • ndcur
      (time)
      int32
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      current day (from base day)
      Array Chunk
      Bytes 3.91 kB 4 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      977 1
    • nlon
      (time, lat)
      int32
      dask.array<chunksize=(1, 192), meta=np.ndarray>
      long_name :
      number of longitudes
      Array Chunk
      Bytes 750.34 kB 768 B
      Shape (977, 192) (1, 192)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      192 977
    • nsbase
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      seconds of base day
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • nscur
      (time)
      int32
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      current seconds of current day
      Array Chunk
      Bytes 3.91 kB 4 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      977 1
    • nsteph
      (time)
      int32
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      current timestep
      Array Chunk
      Bytes 3.91 kB 4 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      977 1
    • ntrk
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      spectral truncation parameter K
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • ntrm
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      spectral truncation parameter M
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • ntrn
      (time)
      int32
      dask.array<chunksize=(977,), meta=np.ndarray>
      long_name :
      spectral truncation parameter N
      Array Chunk
      Bytes 3.91 kB 3.91 kB
      Shape (977,) (977,)
      Count 2 Tasks 1 Chunks
      Type int32 numpy.ndarray
      977 1
    • sol_tsi
      (time)
      float64
      dask.array<chunksize=(1,), meta=np.ndarray>
      long_name :
      total solar irradiance
      units :
      W/m2
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      977 1
    • time_bnds
      (time, nbnd)
      object
      dask.array<chunksize=(977, 2), meta=np.ndarray>
      long_name :
      time interval endpoints
      Array Chunk
      Bytes 15.63 kB 15.63 kB
      Shape (977, 2) (977, 2)
      Count 2 Tasks 1 Chunks
      Type object numpy.ndarray
      2 977
    • time_written
      (time)
      |S8
      dask.array<chunksize=(1,), meta=np.ndarray>
      Array Chunk
      Bytes 7.82 kB 8 B
      Shape (977,) (1,)
      Count 978 Tasks 977 Chunks
      Type |S8 numpy.ndarray
      977 1
    • w_stag
      (time, slat)
      float64
      dask.array<chunksize=(1, 191), meta=np.ndarray>
      long_name :
      staggered latitude weights
      Array Chunk
      Bytes 1.49 MB 1.53 kB
      Shape (977, 191) (1, 191)
      Count 978 Tasks 977 Chunks
      Type float64 numpy.ndarray
      191 977
    • wnummax
      (time, lat)
      int32
      dask.array<chunksize=(1, 192), meta=np.ndarray>
      long_name :
      cutoff Fourier wavenumber
      Array Chunk
      Bytes 750.34 kB 768 B
      Shape (977, 192) (1, 192)
      Count 978 Tasks 977 Chunks
      Type int32 numpy.ndarray
      192 977
  • Conventions :
    CF-1.0
    Version :
    $Name$
    case :
    f09_g16.B.CONTROL03
    host :
    n716024
    initial_file :
    f09_g16.B.04.EXT.cam.i.2075-01-01-00000.nc
    logname :
    clmfrm01
    revision_Id :
    $Id$
    source :
    CAM
    title :
    UNSET
    topography_file :
    /d/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_remap_c051027.nc

Take a look through the variables, dimensions, and coordinates within the xarray dataset rendered above. The .variables field contains a list of all the data variables, which are indexed along the dimensions listed above (at the locations given by the .coordinates field). Under the covers, this data is housed in dask arrays, which is a data format well suited for parallel computing. If you click on the funky cylindrical icon to the right of one of the "Data variables", you will see a graphical representation of the underlying data chunks.

If you click on the folded paper icon, you'll see the variable metadata. Looking at FSNT and FSLT, we have "net longwave flux at top of model" and "net shortwave flux at top of model". As Professor Rose explains in his textbook, FLNT is oriented outward while FLST is oriented inward so that these quantities are positive. I believe we want the sum of these variables for our integrated net flux assessment.

Because it is tedious to expand the metadata icons above by hand, the following code cell compiles them into a denser list for convenient reading. Take a look through and verify that no other variables fit the bill better. If they do, we can plot them instead.

In [8]:
#list all variables for the "CONTROL" case and their long names
short_names = []
long_names = []
for k in list(cases["CONTROL"].variables):
    try:
        short_names.append(k)
        long_name = cases["CONTROL"][k].long_name + " [" + cases["CONTROL"][k].units + "]"
        long_names.append(long_name)
    except:
        continue
        
menu = list(tuple(zip(short_names, long_names)))
menu
Out[8]:
[('AEROD_v', 'Total Aerosol Optical Depth in visible band [1]'),
 ('CLDHGH', 'Vertically-integrated high cloud [fraction]'),
 ('CLDICE', 'Grid box averaged cloud ice amount [kg/kg]'),
 ('CLDLIQ', 'Grid box averaged cloud liquid amount [kg/kg]'),
 ('CLDLOW', 'Vertically-integrated low cloud [fraction]'),
 ('CLDMED', 'Vertically-integrated mid-level cloud [fraction]'),
 ('CLDTOT', 'Vertically-integrated total cloud [fraction]'),
 ('CLOUD', 'Cloud fraction [fraction]'),
 ('CONCLD', 'Convective cloud cover [fraction]'),
 ('DCQ', 'Q tendency due to moist processes [kg/kg/s]'),
 ('DTCOND', 'T tendency - moist processes [K/s]'),
 ('DTV', 'T vertical diffusion [K/s]'),
 ('EMIS', 'cloud emissivity [1]'),
 ('FICE', 'Fractional ice content within cloud [fraction]'),
 ('FLDS', 'Downwelling longwave flux at surface [W/m2]'),
 ('FLDSC', 'Clearsky downwelling longwave flux at surface [W/m2]'),
 ('FLNS', 'Net longwave flux at surface [W/m2]'),
 ('FLNSC', 'Clearsky net longwave flux at surface [W/m2]'),
 ('FLNT', 'Net longwave flux at top of model [W/m2]'),
 ('FLNTC', 'Clearsky net longwave flux at top of model [W/m2]'),
 ('FLUT', 'Upwelling longwave flux at top of model [W/m2]'),
 ('FLUTC', 'Clearsky upwelling longwave flux at top of model [W/m2]'),
 ('FSDS', 'Downwelling solar flux at surface [W/m2]'),
 ('FSDSC', 'Clearsky downwelling solar flux at surface [W/m2]'),
 ('FSDTOA', 'Downwelling solar flux at top of atmosphere [W/m2]'),
 ('FSNS', 'Net solar flux at surface [W/m2]'),
 ('FSNSC', 'Clearsky net solar flux at surface [W/m2]'),
 ('FSNT', 'Net solar flux at top of model [W/m2]'),
 ('FSNTC', 'Clearsky net solar flux at top of model [W/m2]'),
 ('FSNTOA', 'Net solar flux at top of atmosphere [W/m2]'),
 ('FSNTOAC', 'Clearsky net solar flux at top of atmosphere [W/m2]'),
 ('FSUTOA', 'Upwelling solar flux at top of atmosphere [W/m2]'),
 ('ICEFRAC', 'Fraction of sfc area covered by sea-ice [fraction]'),
 ('ICIMR', 'Prognostic in-cloud ice mixing ratio [kg/kg]'),
 ('ICWMR', 'Prognostic in-cloud water mixing ratio [kg/kg]'),
 ('LANDFRAC', 'Fraction of sfc area covered by land [fraction]'),
 ('LHFLX', 'Surface latent heat flux [W/m2]'),
 ('LWCF', 'Longwave cloud forcing [W/m2]'),
 ('OCNFRAC', 'Fraction of sfc area covered by ocean [fraction]'),
 ('OMEGA', 'Vertical velocity (pressure) [Pa/s]'),
 ('OMEGAT', 'Vertical heat flux [K Pa/s]'),
 ('P0', 'reference pressure [Pa]'),
 ('PBLH', 'PBL height [m]'),
 ('PHIS', 'Surface geopotential [m2/s2]'),
 ('PRECC', 'Convective precipitation rate (liq + ice) [m/s]'),
 ('PRECL', 'Large-scale (stable) precipitation rate (liq + ice) [m/s]'),
 ('PRECSC', 'Convective snow rate (water equivalent) [m/s]'),
 ('PRECSL', 'Large-scale (stable) snow rate (water equivalent) [m/s]'),
 ('PS', 'Surface pressure [Pa]'),
 ('PSL', 'Sea level pressure [Pa]'),
 ('Q', 'Specific humidity [kg/kg]'),
 ('QFLX', 'Surface water flux [kg/m2/s]'),
 ('QREFHT', 'Reference height humidity [kg/kg]'),
 ('QRL', 'Longwave heating rate [K/s]'),
 ('QRS', 'Solar heating rate [K/s]'),
 ('RELHUM', 'Relative humidity [percent]'),
 ('SFCLDICE', 'CLDICE surface flux [kg/m2/s]'),
 ('SFCLDLIQ', 'CLDLIQ surface flux [kg/m2/s]'),
 ('SHFLX', 'Surface sensible heat flux [W/m2]'),
 ('SNOWHICE', 'Snow depth over ice [m]'),
 ('SNOWHLND', 'Water equivalent snow depth [m]'),
 ('SOLIN', 'Solar insolation [W/m2]'),
 ('SWCF', 'Shortwave cloud forcing [W/m2]'),
 ('T', 'Temperature [K]'),
 ('TAUX', 'Zonal surface stress [N/m2]'),
 ('TAUY', 'Meridional surface stress [N/m2]'),
 ('TGCLDCWP', 'Total grid-box cloud water path (liquid and ice) [gram/m2]'),
 ('TGCLDIWP', 'Total grid-box cloud ice water path [gram/m2]'),
 ('TGCLDLWP', 'Total grid-box cloud liquid water path [gram/m2]'),
 ('TMQ', 'Total (vertically integrated) precipitable water [kg/m2]'),
 ('TREFHT', 'Reference height temperature [K]'),
 ('TS', 'Surface temperature (radiative) [K]'),
 ('TSMN', 'Minimum surface temperature over output period [K]'),
 ('TSMX', 'Maximum surface temperature over output period [K]'),
 ('U', 'Zonal wind [m/s]'),
 ('U10', '10m wind speed [m/s]'),
 ('UU', 'Zonal velocity squared [m2/s2]'),
 ('V', 'Meridional wind [m/s]'),
 ('VD01', 'Vertical diffusion of Q [kg/kg/s]'),
 ('VQ', 'Meridional water transport [m/skg/kg]'),
 ('VT', 'Meridional heat transport [K m/s]'),
 ('VU', 'Meridional flux of zonal momentum [m2/s2]'),
 ('VV', 'Meridional velocity squared [m2/s2]'),
 ('Z3', 'Geopotential Height (above sea level) [m]'),
 ('ch4vmr', 'hybrid level at interfaces (1000*(A+B)) [level]'),
 ('co2vmr', 'latitude [degrees_north]'),
 ('date', 'hybrid level at midpoints (1000*(A+B)) [level]'),
 ('date_written', 'longitude [degrees_east]'),
 ('datesec', 'timestep [s]'),
 ('f11vmr', 'staggered latitude [degrees_north]'),
 ('f12vmr', 'staggered longitude [degrees_east]'),
 ('gw', 'total solar irradiance [W/m2]')]

Right now, the data is stored in a dictionary of nine Datasets, each of which contains all 114-odd variables. Each single variable (such as 'T', or 'PRECC' or 'FLNT') is stored in an xarray DataArray. We only want the DataArrays associated with our variables of interest, and we want to be able to easily average out the Arctic Oscillation.

Let's extract the DataArrays corresponding to each relevant variable. We'll do that by defining a function which extracts the Control, Global, and Fram DataArrays for a given variable. Inside of that function will be another helper function that produces a single-intervention DataArray containing an AO-phase dimension.

In [32]:
def get_ao_indexable_vars(var):
    """ Generate three DataArrays (Control, Global, and Fram) composed of the relevant variable from each case 
    within 'cases', one for each intervention and indexable by arctic oscillation.

    Args:
        var (str): the variable key, such as "FLNT"
    """
    
    def get_ao_indexable_var(var, case_set):
        """ Generate one DataArray composed of the relevant variable for one intervention, with keys given by 
        'case_set', indexable by arctic oscillation.

        Args:
            var (str): the variable key, such as "FLNT"
            case_set (list of str): a set of keys for the dictionary 'cases' defined above
        """
        ao_phases = ["Neutral", "Negative", "Positive"]
        das = [cases[c][var] for c in case_set]
        return xr.concat(das, dim=pd.Index(ao_phases, name='ao_phase', dtype='U15')) # index order matters.
        
    
    control_cases = ["CONTROL", "CONTROL_MAY_NAO", "CONTROL_MAY_PAO"] # neutral, negative, positive.
    control_da = get_ao_indexable_var(var, control_cases)

    global_cases = ["GLOBAL", "GLOBAL_MAY_NAO", "GLOBAL_MAY_PAO"]
    global_da = get_ao_indexable_var(var, global_cases)
    
    fram_cases = ["FRAM_MAY", "FRAM_MAY_NAO", "FRAM_MAY_PAO"]
    fram_da = get_ao_indexable_var(var, fram_cases)
    
    return control_da, global_da, fram_da

flnt_control, flnt_global, flnt_fram = get_ao_indexable_vars("FLNT")
fsnt_control, fsnt_global, fsnt_fram = get_ao_indexable_vars("FSNT")

Let's load this data into memory before we take the AO-phase mean. Because xarray is lazily evaluated, we could simply never explicitly call load() if we wanted and the required data would be fetched as needed. But I've found that explicitly loading the data before conducting any operations tends to reduce the Dask scheduler pipeline bottleneck associated with fetching the data from S3 just-in-time for an operation.

While the cell below is loading, try pulling up localhost:8787 and seeing if the Dask Distributed scheduler dashboard is showing you information about the task that's completing. It's interesting to see graphical representations of the function calls, progress, and utilized memory.

I've also added some "Jupyter magic" in the first line of the cell below. The command %%time causes the iPython kernel Jupyter is using to record the time the cell took to execute. It took me about four minutes.

In [65]:
%%time

i = 1
# I created a dictionary out of these variables so they can be iteratively modified in-place
# rather than modifying copies local to the for loop.
des_vars = [flnt_control, flnt_global, flnt_fram, fsnt_control, fsnt_global, fsnt_fram]
des_vars = dict(zip(range(len(des_vars)), des_vars))
for da in des_vars.values():
    print("Loading data: {}/{}".format(i, len(des_vars)))
    i += 1
    da.load()
Loading data: 1/6
Loading data: 2/6
Loading data: 3/6
Loading data: 4/6
Loading data: 5/6
Loading data: 6/6
CPU times: user 601 µs, sys: 23 µs, total: 624 µs
Wall time: 515 µs

Now let's create the "net flux" variable we've discussed before. We will define "net" to be the sum of longwave and shortwave net fluxes. Since shortwave flux is oriented inward ( > 0 if downward) while longwave flux is oriented outward ( > 0 if upward), we subtract FSNT from FLNT and adopt the convention that our positive "net" variable corresponds to positive upwelling.

In [81]:
net_control = (flnt_control - fsnt_control)
net_global = (flnt_global - fsnt_global)
net_fram = (flnt_fram - fsnt_fram)

net_control

Taking a page from Professor Rose, we'll use the .gw variable provided in one of the Datasets as our weight factor. I had to convince myself that the mean-division performed below produces a valid multiplicative weight, i.e. $$\sum_1^n x_i = 1.$$

In [83]:
weight_factor = cases["CONTROL"].isel(time=0).gw / cases["CONTROL"].isel(time=0).gw.mean(dim='lat')
weight_factor
Out[83]:
Show/Hide data repr Show/Hide attributes
xarray.DataArray
'gw'
  • lat: 192
  • dask.array<chunksize=(192,), meta=np.ndarray>
    Array Chunk
    Bytes 1.54 kB 1.54 kB
    Shape (192,) (192,)
    Count 983 Tasks 1 Chunks
    Type float64 numpy.ndarray
    192 1
    • lat
      (lat)
      float64
      -90.0 -89.06 -88.12 ... 89.06 90.0
      long_name :
      latitude
      units :
      degrees_north
      array([-90.      , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
             -84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
             -78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
             -73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
             -67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
             -61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
             -56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
             -50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
             -44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
             -39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
             -33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
             -27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
             -22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
             -16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
             -10.837696,  -9.895288,  -8.95288 ,  -8.010471,  -7.068063,  -6.125654,
              -5.183246,  -4.240838,  -3.298429,  -2.356021,  -1.413613,  -0.471204,
               0.471204,   1.413613,   2.356021,   3.298429,   4.240838,   5.183246,
               6.125654,   7.068063,   8.010471,   8.95288 ,   9.895288,  10.837696,
              11.780105,  12.722513,  13.664921,  14.60733 ,  15.549738,  16.492147,
              17.434555,  18.376963,  19.319372,  20.26178 ,  21.204188,  22.146597,
              23.089005,  24.031414,  24.973822,  25.91623 ,  26.858639,  27.801047,
              28.743455,  29.685864,  30.628272,  31.570681,  32.513089,  33.455497,
              34.397906,  35.340314,  36.282723,  37.225131,  38.167539,  39.109948,
              40.052356,  40.994764,  41.937173,  42.879581,  43.82199 ,  44.764398,
              45.706806,  46.649215,  47.591623,  48.534031,  49.47644 ,  50.418848,
              51.361257,  52.303665,  53.246073,  54.188482,  55.13089 ,  56.073298,
              57.015707,  57.958115,  58.900524,  59.842932,  60.78534 ,  61.727749,
              62.670157,  63.612565,  64.554974,  65.497382,  66.439791,  67.382199,
              68.324607,  69.267016,  70.209424,  71.151832,  72.094241,  73.036649,
              73.979058,  74.921466,  75.863874,  76.806283,  77.748691,  78.691099,
              79.633508,  80.575916,  81.518325,  82.460733,  83.403141,  84.34555 ,
              85.287958,  86.230366,  87.172775,  88.115183,  89.057592,  90.      ])
    • time
      ()
      object
      2000-02-01 00:00:00
      bounds :
      time_bnds
      long_name :
      time
      array(cftime.DatetimeNoLeap(2000, 2, 1, 0, 0, 0, 0), dtype=object)

Now we conduct the latitudinal weighting and take the mean through latitude, longitude, and AO phase. These mean operations should commute, right?

In [84]:
net_control_timeseries = (weight_factor * net_control).mean(dim=['lat', 'lon', 'ao_phase']).load()
net_global_timeseries = (weight_factor * net_global).mean(dim=['lat', 'lon', 'ao_phase']).load()
net_fram_timeseries = (weight_factor * net_fram).mean(dim=['lat', 'lon', 'ao_phase']).load()

Now we plot our generated flux variables.

In [108]:
%%output size=200
plot = hv.Curve(net_control_timeseries, label="Control") \
* hv.Curve(net_global_timeseries, label="Global") \
* hv.Curve(net_fram_timeseries, label="Fram")
plot.opts(ylabel="Net Flux [W/m^2]", title='Mean Net Flux')
WARNING:param.CurvePlot08983: Converting cftime.datetime from a non-standard calendar (noleap) to a standard calendar for plotting. This may lead to subtle errors in formatting dates, for accurate tick formatting switch to the matplotlib backend.
WARNING:param.CurvePlot08994: Converting cftime.datetime from a non-standard calendar (noleap) to a standard calendar for plotting. This may lead to subtle errors in formatting dates, for accurate tick formatting switch to the matplotlib backend.
WARNING:param.CurvePlot09005: Converting cftime.datetime from a non-standard calendar (noleap) to a standard calendar for plotting. This may lead to subtle errors in formatting dates, for accurate tick formatting switch to the matplotlib backend.
Out[108]:

We see that there is high seasonal (annual) variation in mean net flux on the order of 15 W/m^2, with a minimum in February and a max in August. Maybe we've made a mistake -- it seems like integrating over the entire globe ought be more constant as winter in the southern hemisphere corresponds to summer in the northern hemisphere. On the other hand, maybe seasonal variation is attributed to different albedo distributions in each hemisphere. For instance, if the northern hemisphere has higher albedo than the southern hemisphere, we would expect to see higher net flux in August. I'm not sure why that would cause the mean net flux to change signs though ...

Let's see what the plot looks like with a low pass filter. Let's take a five-year rolling average.

In [103]:
filtered_net_control_timeseries = net_control_timeseries.rolling(time=60, center=True).mean()
filtered_net_global_timeseries = net_global_timeseries.rolling(time=60, center=True).mean()
filtered_net_fram_timeseries = net_fram_timeseries.rolling(time=60, center=True).mean()
In [109]:
%%output size=200

plot = hv.Curve(filtered_net_control_timeseries, label="Control") \
* hv.Curve(filtered_net_global_timeseries, label="Global") \
* hv.Curve(filtered_net_fram_timeseries, label="Fram")
plot.opts(ylabel="Net Flux [W/m^2]", title='Mean Net Flux, 60-month Rolling Average')
WARNING:param.CurvePlot09374: Converting cftime.datetime from a non-standard calendar (noleap) to a standard calendar for plotting. This may lead to subtle errors in formatting dates, for accurate tick formatting switch to the matplotlib backend.
WARNING:param.CurvePlot09385: Converting cftime.datetime from a non-standard calendar (noleap) to a standard calendar for plotting. This may lead to subtle errors in formatting dates, for accurate tick formatting switch to the matplotlib backend.
WARNING:param.CurvePlot09396: Converting cftime.datetime from a non-standard calendar (noleap) to a standard calendar for plotting. This may lead to subtle errors in formatting dates, for accurate tick formatting switch to the matplotlib backend.
Out[109]:

That's interesting! Global resulted in a net mean flux that was less strongly negative than Fram or Control. Recall that Net is positive out, so these results are intuitive: on net, less radiation is remaining in Earth's system.

In [ ]: